home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 376-400 / disk_376 / matrix / src / pal / fileio.c < prev    next >
Text File  |  1992-05-06  |  4KB  |  151 lines

  1.  /********************************************************************/
  2.  /****                                                            ****/
  3.  /****                                                            ****/
  4.  /****    Program          : FileIO.c                             ****/
  5.  /****                                                            ****/
  6.  /****    Version          : 01.00                                ****/
  7.  /****                                                            ****/
  8.  /****    Erstversion      : 01.07.1990                           ****/
  9.  /****                                                            ****/
  10.  /****    Letzte Änderung  : 08.08.1990                           ****/
  11.  /****                                                            ****/
  12.  /****    Compiliert mit   : siehe MAKEFILE                       ****/
  13.  /****                                                            ****/
  14.  /****    Gelinkt mit      : siehe MAKEFILE                       ****/
  15.  /****                                                            ****/
  16.  /********************************************************************/
  17.  /****                                                            ****/
  18.  /****                                                            ****/
  19.  /****               Copyright by Rüdiger Dreier                  ****/
  20.  /****                                                            ****/
  21.  /****                                                            ****/
  22.  /********************************************************************/
  23.  
  24.  /* Einbinden der Include-Files */
  25.  #include <exec/types.h>
  26.  #include <stdio.h>
  27.  #include <string.h>
  28.  #include <proto/exec.h>
  29.  #include <proto/dos.h>
  30.  #include <stdlib.h>
  31.  
  32.  #define Leer(a) Write(a," ",1)
  33.  #define Ret(a)  Write(a,"\x0A",1)
  34.  
  35.  
  36.  SHORT is_empty(char Zeichen)
  37.   {
  38.    if(Zeichen==' ' || Zeichen == ',' || Zeichen == 9 || Zeichen == 10)return(1);
  39.    return(0);
  40.   }
  41.  
  42.  
  43.  VOID Werte_Laden(char *Name)
  44.   {
  45.    BPTR Eingabe;
  46.    char String[50];
  47.    LONG i,j;
  48.    DOUBLE Wert;
  49.    
  50.    Eingabe=Open(Name,MODE_OLDFILE);
  51.    if(!Eingabe)return;
  52.    
  53.    ZahlEinlesen(String,Eingabe);
  54.    UmwStoF(&Wert,String);
  55.    Zeilen=(LONG)Wert;
  56.    
  57.    ZahlEinlesen(String,Eingabe);
  58.    UmwStoF(&Wert,String);
  59.    Spalten=(LONG)Wert;
  60.    
  61.    Breite=620/Spalten;
  62.    Hoehe =80/Zeilen;
  63.    
  64.    for(i=0;i<Zeilen;i++)
  65.     {
  66.      for(j=0;j<Spalten;j++)
  67.       {
  68.        ZahlEinlesen(String,Eingabe);
  69.        UmwStoF(&Wert,String);
  70.        MatrixE[i][j]=Wert;
  71.       }
  72.     }
  73.    Close(Eingabe);
  74.   }
  75.  
  76.  
  77.  VOID  ZahlEinlesen(char *String, BPTR Eingabe)
  78.   {
  79.    SHORT flag=1;
  80.    LONG Nummer;
  81.    char Zeichen;
  82.    
  83.    for(Nummer=0;Nummer<=49;Nummer++)
  84.     {
  85.      String[Nummer]=0;
  86.     }
  87.    
  88.    while(flag) 
  89.     {
  90.      Nummer=Read(Eingabe,&Zeichen,1);
  91.      flag=is_empty(Zeichen);
  92.      if(Nummer==0)
  93.       {
  94.        flag=0;
  95.        Zeichen=0;
  96.       }
  97.     }
  98.    
  99.    if(!is_empty(Zeichen))String[strlen(String)]=Zeichen;
  100.    while(!flag)
  101.     {
  102.      Nummer=Read(Eingabe,&Zeichen,1);
  103.      flag=is_empty(Zeichen);
  104.      if(Nummer==0)flag=1;
  105.      if(!flag)
  106.       {
  107.        String[strlen(String)]=Zeichen;
  108.       }
  109.     }
  110.   }
  111.  
  112.  
  113.  VOID Werte_Speichern(char *Name)
  114.   {
  115.    BPTR Ausgabe;
  116.    char String[50];
  117.    LONG i,j;
  118.    DOUBLE Wert;
  119.    
  120.    Ausgabe=Open(Name,MODE_NEWFILE);
  121.    if(!Ausgabe)return;
  122.    
  123.    Wert=(DOUBLE)Zeilen;
  124.    UmwFtoS(String,&Wert,5);
  125.    Write(Ausgabe,String,strlen(String));
  126.    Leer(Ausgabe);
  127.    Wert=(DOUBLE)Spalten;
  128.    UmwFtoS(String,&Wert,5);
  129.    Write(Ausgabe,String,strlen(String));
  130.    Ret(Ausgabe);
  131.    for(i=0;i<Zeilen;i++)
  132.     {
  133.      for(j=0;j<Spalten;j++)
  134.       {
  135.        Wert=(DOUBLE)MatrixE[i][j];
  136.        UmwFtoS(String,&Wert,5);
  137.        Write(Ausgabe,String,strlen(String));
  138.        Leer(Ausgabe);
  139.       }
  140.      Ret(Ausgabe);
  141.     }
  142.    Close(Ausgabe);
  143.   }
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.